Assessment Part 1

Written Evaluation

Word count: 600

This research selected 2015 sub-region data from Afghanistan, reported by the Department of Health Surveys (Spatial Data Repository, n.d.). With this data, the spotlight was shone on the potential spatial correlation between female literacy and household access to electricity, which is considered a measure of modernisation and development (Desai, 2012). QGIS and R were used to explore, visualize and compare the female literacy rates and household access to electricity, across sub-regions in Afghanistan. It is critical to remind readers that this study does not intend to prove causation but is solely intended to visualize a potential spatial correlation.

This study began by using QGIS to read shapefiles downloaded from the Spatial Data Repository. However, there were many variables/fields with incomplete data. These fields include the maternal mortality rates and HIV-prevalence indicators. Missing values were indicated by ‘9999’. Since the fields of interest (female literacy: ‘EDLITRWLIT’, household electricity: ‘HCELECHELC’) were complete, no interpolations were required to fill in missing data. Following the data inspection, 2 identical maps were placed in the workspace to produce a choropleth map visualising two variables. To ensure that the map clearly portrays the correlation in question, the sub-regions with less than 50% of households with electricity were highlighted through rule-based graduated symbology. Bins of observations were created with the Jenks natural breaks classification. Transparencies and symbols were adjusted and the QGIS map was generated, with appropriate map elements. Finally, the map was embedded into Rmarkdown (Dennett, 2018a).

The initial R attempt to produce the map utilised the ‘tmap’ R-package. However, the end-product was considered to be unsatisfactory on aesthetic and intuitive levels. Making fine adjustments required an in-depth knowledge of the extensive R-package documentation. After consulting with peers and an appreciation of the ‘leaflet’ package through Dennett (2018b), a second attempt was made to maximise the potential of the ‘leaflet’ package. Bins of observations were determined by calculating quantiles instead of jenks, and other map elements were added to produce a more comprehensive and intuitive map. This created an interactive map with pop-up labels and multiple overlays by using the ‘addLayersControl’ function (“Leaflet for R - Show/Hide Layers,” n.d.). This allows the user to select the variable to be visualised, to zoom-in, and to choose the type of basemap (ESRI gray canvas / topographic map).

With the maps complete, it is crucial to evaluate the limitations and uncertainty of the data used. Although we do not have the data collection methodology, we can speculate that one probable limitation is the geo-political situation within Afghanistan which could lead to the under-reporting of female literacy rates, as well as compromise the accuracy because of security risks in data collection. These uncertainties should be considered in further analysis.

The process of using two different approaches to produce a map researching the same question has brought a keener understanding of the benefits and drawbacks of each approach. The ever-necessary process of cleaning, processing and analysing data is significantly easier with R-packages. However, minute adjustments in producing a map are easier in QGIS because of the intuitive and friendly user-interface, which ensures a smooth navigation and provides immediate updates with each change. For R, the smallest of changes require the cartographer to be aware of the intricate R documentation for each function within each package, before needing to run chunks of code again. This can be a time-consuming endeavour, albeit becoming more intuitive with experience and practice. Overall, there are advantages and disadvantages with each platform, but these serve to emphasise their complementarity. The choice of program should depend on the structure of the data, the cartographer’s task, experience and preference.

QGIS Map

R Leaflet Map

LS0tDQp0aXRsZTogIkFzc2Vzc21lbnQgUGFydCAxIg0Kb3V0cHV0OiANCiAgaHRtbF9ub3RlYm9vazoNCiAgICB0aGVtZTogY2VydWxlYW4NCiAgd29yZF9kb2N1bWVudDogZGVmYXVsdA0KDQphdXRob3I6IEFuZHJldyBXb25nIFdlbmcgU2VuZw0KYmlibGlvZ3JhcGh5Og0KICBBc3Nlc3NtZW50MXJlZmVyZW5jZXMuYmliDQotLS0NCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUpDQpgYGANCg0KYGBge3IgcHJlc3N1cmUsIGVjaG89RkFMU0V9DQpwbG90KHByZXNzdXJlKQ0KYGBgDQoNCiMjIEFzc2Vzc21lbnQgUGFydCAxIHsudGFic2V0fQ0KDQojIyMgV3JpdHRlbiBFdmFsdWF0aW9uIA0KDQpXb3JkIGNvdW50OiA2MDANCg0KVGhpcyByZXNlYXJjaCBzZWxlY3RlZCAyMDE1IHN1Yi1yZWdpb24gZGF0YSBmcm9tIEFmZ2hhbmlzdGFuLCByZXBvcnRlZCBieSB0aGUgRGVwYXJ0bWVudCBvZiBIZWFsdGggU3VydmV5cyAoU3BhdGlhbCBEYXRhIFJlcG9zaXRvcnksIG4uZC4pLiBXaXRoIHRoaXMgZGF0YSwgdGhlIHNwb3RsaWdodCB3YXMgc2hvbmUgb24gdGhlIHBvdGVudGlhbCBzcGF0aWFsIGNvcnJlbGF0aW9uIGJldHdlZW4gZmVtYWxlIGxpdGVyYWN5IGFuZCBob3VzZWhvbGQgYWNjZXNzIHRvIGVsZWN0cmljaXR5LCB3aGljaCBpcyBjb25zaWRlcmVkIGEgbWVhc3VyZSBvZiBtb2Rlcm5pc2F0aW9uIGFuZCBkZXZlbG9wbWVudCAoRGVzYWksIDIwMTIpLiBRR0lTIGFuZCBSIHdlcmUgdXNlZCB0byBleHBsb3JlLCB2aXN1YWxpemUgYW5kIGNvbXBhcmUgdGhlIGZlbWFsZSBsaXRlcmFjeSByYXRlcyBhbmQgaG91c2Vob2xkIGFjY2VzcyB0byBlbGVjdHJpY2l0eSwgYWNyb3NzIHN1Yi1yZWdpb25zIGluIEFmZ2hhbmlzdGFuLiBJdCBpcyBjcml0aWNhbCB0byByZW1pbmQgcmVhZGVycyB0aGF0IHRoaXMgc3R1ZHkgZG9lcyBub3QgaW50ZW5kIHRvIHByb3ZlIGNhdXNhdGlvbiBidXQgaXMgc29sZWx5IGludGVuZGVkIHRvIHZpc3VhbGl6ZSBhIHBvdGVudGlhbCBzcGF0aWFsIGNvcnJlbGF0aW9uLiANCg0KVGhpcyBzdHVkeSBiZWdhbiBieSB1c2luZyBRR0lTIHRvIHJlYWQgc2hhcGVmaWxlcyBkb3dubG9hZGVkIGZyb20gdGhlIFNwYXRpYWwgRGF0YSBSZXBvc2l0b3J5LiBIb3dldmVyLCB0aGVyZSB3ZXJlIG1hbnkgdmFyaWFibGVzL2ZpZWxkcyB3aXRoIGluY29tcGxldGUgZGF0YS4gVGhlc2UgZmllbGRzIGluY2x1ZGUgdGhlIG1hdGVybmFsIG1vcnRhbGl0eSByYXRlcyBhbmQgSElWLXByZXZhbGVuY2UgaW5kaWNhdG9ycy4gTWlzc2luZyB2YWx1ZXMgd2VyZSBpbmRpY2F0ZWQgYnkg4oCYOTk5OeKAmS4gU2luY2UgdGhlIGZpZWxkcyBvZiBpbnRlcmVzdCAoZmVtYWxlIGxpdGVyYWN5OiDigJhFRExJVFJXTElU4oCZLCBob3VzZWhvbGQgZWxlY3RyaWNpdHk6IOKAmEhDRUxFQ0hFTEPigJkpIHdlcmUgY29tcGxldGUsIG5vIGludGVycG9sYXRpb25zIHdlcmUgcmVxdWlyZWQgdG8gZmlsbCBpbiBtaXNzaW5nIGRhdGEuIEZvbGxvd2luZyB0aGUgZGF0YSBpbnNwZWN0aW9uLCAyIGlkZW50aWNhbCBtYXBzIHdlcmUgcGxhY2VkIGluIHRoZSB3b3Jrc3BhY2UgdG8gcHJvZHVjZSBhIGNob3JvcGxldGggbWFwIHZpc3VhbGlzaW5nIHR3byB2YXJpYWJsZXMuIFRvIGVuc3VyZSB0aGF0IHRoZSBtYXAgY2xlYXJseSBwb3J0cmF5cyB0aGUgY29ycmVsYXRpb24gaW4gcXVlc3Rpb24sIHRoZSBzdWItcmVnaW9ucyB3aXRoIGxlc3MgdGhhbiA1MCUgb2YgaG91c2Vob2xkcyB3aXRoIGVsZWN0cmljaXR5IHdlcmUgaGlnaGxpZ2h0ZWQgdGhyb3VnaCBydWxlLWJhc2VkIGdyYWR1YXRlZCBzeW1ib2xvZ3kuIEJpbnMgb2Ygb2JzZXJ2YXRpb25zIHdlcmUgY3JlYXRlZCB3aXRoIHRoZSBKZW5rcyBuYXR1cmFsIGJyZWFrcyBjbGFzc2lmaWNhdGlvbi4gVHJhbnNwYXJlbmNpZXMgYW5kIHN5bWJvbHMgd2VyZSBhZGp1c3RlZCBhbmQgdGhlIFFHSVMgbWFwIHdhcyBnZW5lcmF0ZWQsIHdpdGggYXBwcm9wcmlhdGUgbWFwIGVsZW1lbnRzLiBGaW5hbGx5LCB0aGUgbWFwIHdhcyBlbWJlZGRlZCBpbnRvIFJtYXJrZG93biAoRGVubmV0dCwgMjAxOGEpLg0KDQpUaGUgaW5pdGlhbCBSIGF0dGVtcHQgdG8gcHJvZHVjZSB0aGUgbWFwIHV0aWxpc2VkIHRoZSDigJh0bWFw4oCZIFItcGFja2FnZS4gSG93ZXZlciwgdGhlIGVuZC1wcm9kdWN0IHdhcyBjb25zaWRlcmVkIHRvIGJlIHVuc2F0aXNmYWN0b3J5IG9uIGFlc3RoZXRpYyBhbmQgaW50dWl0aXZlIGxldmVscy4gTWFraW5nIGZpbmUgYWRqdXN0bWVudHMgcmVxdWlyZWQgYW4gaW4tZGVwdGgga25vd2xlZGdlIG9mIHRoZSBleHRlbnNpdmUgUi1wYWNrYWdlIGRvY3VtZW50YXRpb24uIEFmdGVyIGNvbnN1bHRpbmcgd2l0aCBwZWVycyBhbmQgYW4gYXBwcmVjaWF0aW9uIG9mIHRoZSDigJhsZWFmbGV04oCZIHBhY2thZ2UgdGhyb3VnaCBEZW5uZXR0ICgyMDE4YiksIGEgc2Vjb25kIGF0dGVtcHQgd2FzIG1hZGUgdG8gbWF4aW1pc2UgdGhlIHBvdGVudGlhbCBvZiB0aGUg4oCYbGVhZmxldOKAmSBwYWNrYWdlLiBCaW5zIG9mIG9ic2VydmF0aW9ucyB3ZXJlIGRldGVybWluZWQgYnkgY2FsY3VsYXRpbmcgcXVhbnRpbGVzIGluc3RlYWQgb2YgamVua3MsIGFuZCBvdGhlciBtYXAgZWxlbWVudHMgd2VyZSBhZGRlZCB0byBwcm9kdWNlIGEgbW9yZSBjb21wcmVoZW5zaXZlIGFuZCBpbnR1aXRpdmUgbWFwLiBUaGlzIGNyZWF0ZWQgYW4gaW50ZXJhY3RpdmUgbWFwIHdpdGggcG9wLXVwIGxhYmVscyBhbmQgbXVsdGlwbGUgb3ZlcmxheXMgYnkgdXNpbmcgdGhlIOKAmGFkZExheWVyc0NvbnRyb2zigJkgZnVuY3Rpb24gKOKAnExlYWZsZXQgZm9yIFIgLSBTaG93L0hpZGUgTGF5ZXJzLOKAnSBuLmQuKS4gVGhpcyBhbGxvd3MgdGhlIHVzZXIgdG8gc2VsZWN0IHRoZSB2YXJpYWJsZSB0byBiZSB2aXN1YWxpc2VkLCB0byB6b29tLWluLCBhbmQgdG8gY2hvb3NlIHRoZSB0eXBlIG9mIGJhc2VtYXAgKEVTUkkgZ3JheSBjYW52YXMgLyB0b3BvZ3JhcGhpYyBtYXApLiANCg0KV2l0aCB0aGUgbWFwcyBjb21wbGV0ZSwgaXQgaXMgY3J1Y2lhbCB0byBldmFsdWF0ZSB0aGUgbGltaXRhdGlvbnMgYW5kIHVuY2VydGFpbnR5IG9mIHRoZSBkYXRhIHVzZWQuIEFsdGhvdWdoIHdlIGRvIG5vdCBoYXZlIHRoZSBkYXRhIGNvbGxlY3Rpb24gbWV0aG9kb2xvZ3ksIHdlIGNhbiBzcGVjdWxhdGUgdGhhdCBvbmUgcHJvYmFibGUgbGltaXRhdGlvbiBpcyB0aGUgZ2VvLXBvbGl0aWNhbCBzaXR1YXRpb24gd2l0aGluIEFmZ2hhbmlzdGFuIHdoaWNoIGNvdWxkIGxlYWQgdG8gdGhlIHVuZGVyLXJlcG9ydGluZyBvZiBmZW1hbGUgbGl0ZXJhY3kgcmF0ZXMsIGFzIHdlbGwgYXMgY29tcHJvbWlzZSB0aGUgYWNjdXJhY3kgYmVjYXVzZSBvZiBzZWN1cml0eSByaXNrcyBpbiBkYXRhIGNvbGxlY3Rpb24uIFRoZXNlIHVuY2VydGFpbnRpZXMgc2hvdWxkIGJlIGNvbnNpZGVyZWQgaW4gZnVydGhlciBhbmFseXNpcy4NCg0KVGhlIHByb2Nlc3Mgb2YgdXNpbmcgdHdvIGRpZmZlcmVudCBhcHByb2FjaGVzIHRvIHByb2R1Y2UgYSBtYXAgcmVzZWFyY2hpbmcgdGhlIHNhbWUgcXVlc3Rpb24gaGFzIGJyb3VnaHQgYSBrZWVuZXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgYmVuZWZpdHMgYW5kIGRyYXdiYWNrcyBvZiBlYWNoIGFwcHJvYWNoLiBUaGUgZXZlci1uZWNlc3NhcnkgcHJvY2VzcyBvZiBjbGVhbmluZywgcHJvY2Vzc2luZyBhbmQgYW5hbHlzaW5nIGRhdGEgaXMgc2lnbmlmaWNhbnRseSBlYXNpZXIgd2l0aCBSLXBhY2thZ2VzLiBIb3dldmVyLCBtaW51dGUgYWRqdXN0bWVudHMgaW4gcHJvZHVjaW5nIGEgbWFwIGFyZSBlYXNpZXIgaW4gUUdJUyBiZWNhdXNlIG9mIHRoZSBpbnR1aXRpdmUgYW5kIGZyaWVuZGx5IHVzZXItaW50ZXJmYWNlLCB3aGljaCBlbnN1cmVzIGEgc21vb3RoIG5hdmlnYXRpb24gYW5kIHByb3ZpZGVzIGltbWVkaWF0ZSB1cGRhdGVzIHdpdGggZWFjaCBjaGFuZ2UuIEZvciBSLCB0aGUgc21hbGxlc3Qgb2YgY2hhbmdlcyByZXF1aXJlIHRoZSBjYXJ0b2dyYXBoZXIgdG8gYmUgYXdhcmUgb2YgdGhlIGludHJpY2F0ZSBSIGRvY3VtZW50YXRpb24gZm9yIGVhY2ggZnVuY3Rpb24gd2l0aGluIGVhY2ggcGFja2FnZSwgYmVmb3JlIG5lZWRpbmcgdG8gcnVuIGNodW5rcyBvZiBjb2RlIGFnYWluLiBUaGlzIGNhbiBiZSBhIHRpbWUtY29uc3VtaW5nIGVuZGVhdm91ciwgYWxiZWl0IGJlY29taW5nIG1vcmUgaW50dWl0aXZlIHdpdGggZXhwZXJpZW5jZSBhbmQgcHJhY3RpY2UuIE92ZXJhbGwsIHRoZXJlIGFyZSBhZHZhbnRhZ2VzIGFuZCBkaXNhZHZhbnRhZ2VzIHdpdGggZWFjaCBwbGF0Zm9ybSwgYnV0IHRoZXNlIHNlcnZlIHRvIGVtcGhhc2lzZSB0aGVpciBjb21wbGVtZW50YXJpdHkuIFRoZSBjaG9pY2Ugb2YgcHJvZ3JhbSBzaG91bGQgZGVwZW5kIG9uIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIGRhdGEsIHRoZSBjYXJ0b2dyYXBoZXLigJlzIHRhc2ssIGV4cGVyaWVuY2UgYW5kIHByZWZlcmVuY2UuIA0KDQoNCiMjIyBRR0lTIE1hcA0KDQpgYGB7ciBFbWJlZGRpbmcgTWFwIGdlbmVyYXRlZCBieSBRR0lTLCBlY2hvPUZBTFNFfQ0KbGlicmFyeShrbml0cikNCmtuaXRyOjppbmNsdWRlX2dyYXBoaWNzKCdhZmdoYW5fbGF0ZXN0LmpwZycpDQpgYGANCg0KYGBge3IgUi1nZW5lcmF0aW9uIG9mIE1hcCwgaW5jbHVkZT1GQUxTRX0NCmxpYnJhcnkocGxvdGx5KQ0KbGlicmFyeShtYXB0b29scykNCmxpYnJhcnkoUkNvbG9yQnJld2VyKQ0KbGlicmFyeShjbGFzc0ludCkNCmxpYnJhcnkoT3BlblN0cmVldE1hcCkNCmxpYnJhcnkockphdmEpDQpsaWJyYXJ5KHNwKQ0KbGlicmFyeShyZ2VvcykNCmxpYnJhcnkodG1hcCkNCmxpYnJhcnkodG1hcHRvb2xzKQ0KbGlicmFyeShzZikNCmxpYnJhcnkocmdkYWwpDQpsaWJyYXJ5KGdlb2pzb25pbykNCmxpYnJhcnkoZ2dwbG90MikNCmxpYnJhcnkoc2hpbnkpDQpsaWJyYXJ5KHNoaW55anMpDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpsaWJyYXJ5KG1hcHMpDQpsaWJyYXJ5KGxlYWZsZXQpDQpsaWJyYXJ5KHNmKQ0KbGlicmFyeShzcCkNCmxpYnJhcnkobWFncml0dHIpDQpsaWJyYXJ5KHByZXR0eWRvYykNCmxpYnJhcnkoY2l0cikNCg0KIyMjIyMgUmVhZGluZyBzaGFwZWZpbGUgdXNlZCBpbiBRR0lTIGludG8gUiAjIyMjDQphZmdoYW5tYXAgPC0gcmVhZF9zaGFwZSgic2RyX3N1Ym5hdGlvbmFsX2RhdGFfZGhzXzIwMTUuc2hwIiwgYXMuc2YgPSBUUlVFKQ0KYWZnaGFuX2xvd2VsZWMgPC0gYWZnaGFubWFwICU+JSBmaWx0ZXIoSENFTEVDSEVMQzw1MCkNCg0KIyBNYWtpbmcgbWFwcw0KYWZnaGFuX29zbSA8LSByZWFkX29zbShhZmdoYW5tYXAsIHR5cGUgPSAiZXNyaSIsIHpvb20gPSBOVUxMKQ0KDQpgYGANCg0KYGBge3IgR2VuZXJhdGlvbiBvZiBtYXAgd2l0aCBUTUFQLCBldmFsPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQ0KIyMjIyMgUGxvdHRpbmcgd2l0aCBUTUFQIC0tIEkgZGlkIG5vdCBmaW5kIHRoZSBtYXAgcHJvZHVjZWQgd2l0aCB0aGlzIHBhY2thZ2UgdmVyeSBhZXN0aGV0aWMgYW5kIGludHVpdGl2ZS4gVGh1cywgSSB0cmllZCBMZWFmbGV0IGluIHRoZSBuZXh0IHNlY3Rpb24gaW5zdGVhZC4gICMjIyMjDQp0bWFwX21vZGUoInBsb3QiKQ0KdG1fc2hhcGUoYWZnaGFubWFwKSArDQogIHRtX3BvbHlnb25zKCJFRExJVFJXTElUIiwNCiAgICAgICAgICAgICBzdHlsZSA9ICJqZW5rcyIsDQogICAgICAgICAgICAgcGFsZXR0ZSA9ICJZbE9yQnIiLA0KICAgICAgICAgICAgIG1pZHBvaW50ID0gTkEsDQogICAgICAgICAgICAgYm9yZGVyLmNvbCA9ICJibGFjayIsDQogICAgICAgICAgICAgYm9yZGVyLmx3ZCA9IDAuNSwNCiAgICAgICAgICAgICB0aXRsZSA9ICJGZW1hbGUgbGl0ZXJhY3kgKCUpIikgKw0KICB0bV90ZXh0KCJESFNSRUdFTiIsIHNpemUgPSAwLjQsIGNvbCA9ICJibGFjayIpICsNCnRtX3NoYXBlKGFmZ2hhbl9sb3dlbGVjKSArDQogIHRtX2ZpbGwoIkhDRUxFQ0hFTEMiLCBhbHBoYSA9IDEsIHRpdGxlID0gIkhvdXNlaG9sZHMgd2l0aCBlbGVjdHJpY2l0eSIpICsNCiAgdG1fYm9yZGVycyhjb2w9ImJsYWNrIixsd2Q9Mi4wKSArDQogIHRtX3RleHQoIkRIU1JFR0VOIiwgc2l6ZSA9IDAuNCwgY29sID0gImJsYWNrIikNCmBgYA0KDQojIyMgUiBMZWFmbGV0IE1hcA0KDQpgYGB7ciBHZW5lcmF0aW9uIG9mIG1hcCB3aXRoIExlYWZsZXQsIGVjaG89VFJVRX0NCiMjIyMjIFBsb3R0aW5nIHdpdGggTEVBRkxFVCAjIyMjIw0KbGlicmFyeShsZWFmbGV0KQ0KYWZnaGFubWFwU1AgPC0gYWZnaGFubWFwICU+JQ0KICBzdF90cmFuc2Zvcm0oY3JzID0gNDMyNikgJT4lDQogIGFzKCJTcGF0aWFsIikNCmFmZ2hhbl9sb3dlbGVjU1AgPC0gYWZnaGFuX2xvd2VsZWMgJT4lDQogIHN0X3RyYW5zZm9ybShjcnMgPSA0MzI2KSAlPiUNCiAgYXMoIlNwYXRpYWwiKQ0KDQpicmVha3M8LWNsYXNzSW50ZXJ2YWxzKGFmZ2hhbm1hcCRFRExJVFJXTElULCBuPTUsIHN0eWxlPSJxdWFudGlsZSIpDQpicmVha3MgPC0gYnJlYWtzJGJya3MNCg0KYnJlYWtzMSA8LSBjbGFzc0ludGVydmFscyhhZmdoYW5fbG93ZWxlYyRIQ0VMRUNIRUxDLCBuPTUsIHN0eWxlPSJxdWFudGlsZSIpDQpicmVha3MxIDwtIGJyZWFrczEkYnJrcw0KDQpwYWwgPC0gY29sb3JCaW4ocGFsZXR0ZSA9ICJPclJkIiwgDQogICAgICAgICAgICAgICAgZG9tYWluID0gYWZnaGFubWFwU1AkRURMSVRSV0xJVCwNCiAgICAgICAgICAgICAgICBiaW5zID0gYnJlYWtzLA0KICAgICAgICAgICAgICAgIHJldmVyc2UgPSBUUlVFKQ0KDQpwYWwxIDwtIGNvbG9yQmluKHBhbGV0dGUgPSAiR3JleXMiLA0KICAgICAgICAgICAgICAgICBkb21haW4gPSBhZmdoYW5fbG93ZWxlY1NQJEhDRUxFQ0hFTEMsDQogICAgICAgICAgICAgICAgIGJpbnMgPSBicmVha3MxLA0KICAgICAgICAgICAgICAgICByZXZlcnNlID0gVFJVRSkNCg0KbGVhZmxldCgpICU+JQ0KICBhZGRQb2x5Z29ucyhkYXRhID0gYWZnaGFubWFwU1AsIA0KICAgICAgICAgICAgICBzdHJva2UgPSBGQUxTRSwNCiAgICAgICAgICAgICAgZmlsbE9wYWNpdHkgPSAwLjgsDQogICAgICAgICAgICAgIHNtb290aEZhY3RvciA9IDAuNSwNCiAgICAgICAgICAgICAgZmlsbENvbG9yID0gfnBhbChFRExJVFJXTElUKSwNCiAgICAgICAgICAgICAgcG9wdXAgPSB+REhTUkVHRU4sDQogICAgICAgICAgICAgIGdyb3VwID0gIkZlbWFsZSBMaXRlcmFjeSByYXRlcyINCiAgKSAlPiUNCiAgYWRkTGVnZW5kKGRhdGEgPSBhZmdoYW5tYXBTUCwNCiAgICAgICAgICAgICJib3R0b21yaWdodCIsDQogICAgICAgICAgICBwYWwgPSBwYWwsDQogICAgICAgICAgICB2YWx1ZXMgPSB+RURMSVRSV0xJVCwNCiAgICAgICAgICAgIHRpdGxlID0gIkZlbWFsZSBMaXRlcmFjeSByYXRlcyAoJSkiLA0KICAgICAgICAgICAgb3BhY2l0eSA9IDEsDQogICAgICAgICAgICBncm91cCA9ICJGZW1hbGUgTGl0ZXJhY3kgcmF0ZXMiKSAlPiUNCiAgYWRkUHJvdmlkZXJUaWxlcygiRXNyaS5Xb3JsZEdyYXlDYW52YXMiLCBncm91cCA9ICJMaWdodCBiYXNlbWFwIikgJT4lDQogIGFkZFByb3ZpZGVyVGlsZXMoIkVzcmkuV29ybGRUb3BvTWFwIiwgZ3JvdXAgPSAiVG9wbyBiYXNlbWFwIikgJT4lDQogIGFkZFBvbHlnb25zKGRhdGEgPSBhZmdoYW5fbG93ZWxlY1NQLA0KICAgICAgICAgICAgICBzdHJva2UgPSBUUlVFLA0KICAgICAgICAgICAgICBjb2xvciA9ICJibGFjayIsDQogICAgICAgICAgICAgIHdlaWdodCA9IDMsDQogICAgICAgICAgICAgIGZpbGxPcGFjaXR5ID0gMSwNCiAgICAgICAgICAgICAgc21vb3RoRmFjdG9yID0gMC41LA0KICAgICAgICAgICAgICBmaWxsQ29sb3IgPSB+cGFsMShIQ0VMRUNIRUxDKSwNCiAgICAgICAgICAgICAgcG9wdXAgPSB+REhTUkVHRU4sDQogICAgICAgICAgICAgIGdyb3VwID0gIlN1Yi1yZWdpb25zIHdpdGggPDUwJSBIb3VzZWhvbGRzIHdpdGggZWxlY3RyaWNpdHkiDQogICkgJT4lDQogIGFkZExlZ2VuZChkYXRhID0gYWZnaGFuX2xvd2VsZWNTUCwNCiAgICAgICAgICAgICJ0b3ByaWdodCIsDQogICAgICAgICAgICBwYWwgPSBwYWwxLA0KICAgICAgICAgICAgdmFsdWVzID0gfkhDRUxFQ0hFTEMsDQogICAgICAgICAgICB0aXRsZSA9ICJTdWItcmVnaW9ucyB3aXRoIDw1MCUgSG91c2Vob2xkcyB3aXRoIGVsZWN0cmljaXR5IiwNCiAgICAgICAgICAgIG9wYWNpdHkgPSAxLA0KICAgICAgICAgICAgZ3JvdXAgPSAiU3ViLXJlZ2lvbnMgd2l0aCA8NTAlIEhvdXNlaG9sZHMgd2l0aCBlbGVjdHJpY2l0eSIpICU+JQ0KICBhZGRMYXllcnNDb250cm9sKA0KICAgIGJhc2VHcm91cHMgPSBjKCJMaWdodCBiYXNlbWFwIiwgIlRvcG8gYmFzZW1hcCIpLA0KICAgIG92ZXJsYXlHcm91cHMgPSBjKCJGZW1hbGUgTGl0ZXJhY3kgcmF0ZXMiLCJTdWItcmVnaW9ucyB3aXRoIDw1MCUgSG91c2Vob2xkcyB3aXRoIGVsZWN0cmljaXR5IiksDQogICAgb3B0aW9ucyA9IGxheWVyc0NvbnRyb2xPcHRpb25zKGNvbGxhcHNlZCA9IEZBTFNFKQ0KICApDQpgYGANCg0K